As of April 2007, we decided to open source the JIDE Common Layer - the
foundation of all JIDE other products.
You can get the JIDE Common Layer release or access the github repository from
github (it was formally hosted on java.net which is now discontinued). If you use maven for your project, all released versions of JIDE Common Layer are also available on the centeral maven repository through sonatype. If you are paid JIDE customers, the source code for JIDE Common Layer is always
included in the release under src subfolder.
JIDE Common Layer has nearly 100k lines of code and over 30 components and utilities. It has been part of JIDE commercial products since 2002 so the quality and stability are quite high.
Licensing
JIDE Common Layer is dual-licensed. The two licenses are GPL with classpath exception (the same license as OpenJDK) and free
commercial license. You can click on the links to see more information. The first license is the most widely used license among open source community. It is also the same license under which OpenJDK is open sourced.
The second license is the original commercial license under which all other JIDE products are released, except it is free of charge in this case. We released under this license so that all existing paid JIDE customers don't have to switch to the open source license.
Technical Support
One of main issues in open source project is the lack of technical support. To address this issue, here is our support policy:
Documentation: All source codes are javadoc’ed. A developer guide is provided to describe how to use each component. A lot of examples can be downloaded to show you how to use components and classes in JIDE Common Layer.
Bug reports: We will have dedicated resource to work on the bugs based on the priority we decide. We also accept bug fixes from the community after reviewed by our staff.
Free community support: We provide a special
forum so that you can get help from other people in the community. In order to encourage community, we will give away JIDE Developer License for those who actively participate in the discussion.
Paid technical support: If you think it’s critical to get the high quality support in a timely fashion, you can always purchase the Annual Maintenance Renewal for JIDE Common Layer #2090 from
online store. For those who purchased JIDE commercial products, technical support for JIDE Common Layer is always included. Here is the JIDE Common Layer
forum for paid customers.
Contribution
We are very flexible in accepting contributions from you as long as your own the copyright of the contribution. If you found a bug in our code, or would like to add a new feature, or introduce a new component, please feel free to contract
support@jidesoft.com so that we can give you the check-in permission to the source code repository. We will code review the contribution and commit them. We will reward frequent contributors with free developer license of JIDE commercial products.
Features
UI Components
JideTabbedPane - an extended version of JTabbedPane supporting different tab
shapes, color themes, shrinkable tabs,
close button on tab, editable tab etc.
JideSplitPane - an extended version of JSplitPane supporting multiple splits
(JSplitPane can only have two splits)
JideButton - an ideal replacement for a toolbar button
JideSplitButton - a composite component which is a combination of a button and
a popup menu
Searchable JList, JTree, JComboBox and JTable - type in any text to quickly find
matching rows, tree nodes, or table cells
SearchableBar - as seen in Mozilla Firefox
ResizablePanel, ResizableWindow and undecorated ResizableDialog
FolderChooser - allows you to choose a folder
RangeSlider - a slider which allows you to select two values to form a range
JideScrollPane - column and row footer support for JScrollPane
SimpleScrollPane - a scroll pane having four scroll buttons on the four sides.
Overlayable - to put a component on top of another
component at a specified location in order to provide a hint about how to use a component, to provide a
progress indicator or to provide a status indicator beside a component without affecting the existing
layout.
AutoResizingTextArea - a text area that can automatically resize its height to
fit in the content.
StyledLabel - A JLabel that support different fonts, colors, and decorative
lines.
CheckBoxList and CheckBoxTree - use check boxes inside JLists and JTrees.
Calculator Component
DateSpinner and PointSpinner
Popup - support any popup window
AutoCompletion and IntelliHints
StandardDialog - built on top of JDialog to support common used dialog standards as well as adding missing
standard features of any dialogs.
ButtonPanel - arrange buttons in different layouts with different gaps based on OS conventions
Pre-built panels such as BannerPanel
AbstractPage - lazy loading panel with page events (open, closing, closed, etc.), an ideal panel for
building dialogs
Utility Classes
IconFactory - simplify and unify the usage of icons across the whole application
SystemInfo - a utility class which can be used to retrieve information about the current system, including
OS name and version, JDK version requirement, etc.
A fast gradient paint method in JideSwingUtilities. By leveraging DirectDraw, the fast gradient paint is 2
to 40 times faster than normal GradientPaint.
Screenshots
JideTabbedPane
Overlayable
JideButton with different styles
JideSplitButton with different styles
Fast GradientPaint
Searchable JList, JTree and JTable
Searchable Bar
FolderChooser
AutoCompletion Example 1
AutoCompletion Example 2
Calculator
IntelliHints
Example 1
IntelliHints
Example 2
CheckBoxList
CheckBoxTree
RangeSlider
JideScrollPane and an example
StyledLabel
StyledLabelBuilder
MultiplePageDialog
ICON_STYLE like Mozilla Firebird
(icons are not included)
MultiplePageDialog
ICON_STYLE like IntelliJ IDEA
(icons are not included)